This invention relates generally to communication networks and more particularly to per connection queuing of multicast transmissions within such communication systems.
Communication networks are known to include a plurality of switches that transport user data (e.g., voice, video, text, etc.) between calling parties and called parties. The user data may be transported using any one of a plurality of standardized data transport protocols. Such transport protocols include frame relay (FR), asynchronous transfer mode (ATM), internet protocol (IP), etc. In addition, the switches transport system data that contains information regarding the connections currently being supported by the network. For example, the system data may include multicast transmission information.
Multicast transmissions provide the same data to a plurality of destinations. To properly process multicast transmissions, a queuing scheme, such as that disclosed in U.S. Pat. No. 5,528,588 issued to Bennett (the xe2x80x9cBennett Patent xe2x80x9d), may be employed. In general, the Bennett Patent teaches a linked list queuing scheme for spatial multicast transmissions in an ATM network. Spatial multicast transmissions provide data from an originating party to a plurality of destination parties via a plurality of physical paths (e.g., line cards, or a plurality of ports included in a line card). The linked list stores incoming cells of a connection that are read out for each port using separate read pointers. Once a cell has been provided to each port, it is removed from the linked list.
While the Bennett Patent teaches a linked list queuing scheme for ATM multicast transmissions, it does not address processing issues that arise due to data bursts that are typical in ATM networks. Such issues include updating read and stop pointers for each queue as new data bursts are received, processing logical multicast transmissions, and subsequent dequeue scheduling. If such issues are not properly addressed, data will be lost, corrupting the transmission.
Therefore, a need exists for a method and apparatus that processes multicast transmissions, updates queuing pointers for each destination, and ensures proper dequeuing of received data bursts.